
package iluscodelogica;

import java.util.Hashtable;

public class Detecta extends Accion {

    public Detecta(String s) {
	super(s);
    }

    public String toString() {
	return "Descripcion " + descripcion + ">";
    }

    public String getToken() {
	return getDescripcion();
    }

     public TipoToken getId() {
	return TipoToken.DETECTA;
    }

    static {
	new Detecta("hayobstaculo") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
                    
		    return mv.getRobot().DetectaObstaculo();
		}
	    };
	new Detecta("nohayobstaculo") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
                    
		    return !mv.getRobot().DetectaObstaculo();
		}
	    };
        new Detecta("nohayladron") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
                    
		    return !mv.getRobot().DetectaLadron();
		}
	    };
        new Detecta("nohayfuego") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
                    
		    return !mv.getRobot().DetectaFuego();
		}
	    };
        new Detecta("hayladron") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
                    
		    return mv.getRobot().DetectaLadron();
		}
	    };
	new Detecta("hayfuego") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
		    return mv.getRobot().DetectaFuego();
		}
	    };
	
	new Detecta("cerrarventana") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
		    return true;
		}
	    };
	new Detecta("cerrarpuerta") {
            private static final long serialVersionUID = 1L;
		public boolean ejecutar(MaquinaVirtual mv ) {
		    
		    return true;
		}
	    };
	
    };
}
